function reder(template, data) {
    const reg = /\{\(\w+0\}\}/;   // 模板字符串正则
    if (reg.test(template)) {
        // @ts-ignore
        const name = reg.exec(template)[1];   // 查找当前模板里第一个模板字符串的字段
        template = template.replace(reg, data[name]);   // 将第一个模板字符串渲染
        return reder(template, data);  // 递归
    };
    return template;   // 如果模板没有模板字符串直接返回
};
const data = {
    name: 'Katrina', 
    age: 18,
};

const {name, age} = data;
const template = `Hello, my name is ${name}, and I am ${age} old!`;


console.log(reder(template, data))